package com.example.onlinemusic.mapper;

import com.example.onlinemusic.model.Music;
import com.example.onlinemusic.model.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: hold on
 * Date: 2022-07-28
 * Time: 23:27
 */
@Mapper
public interface MusicMapper {
    //上传音乐

    /**
     *
     * @param title 文件名去后缀得到音乐名
     * @param singer
     * @param time 通过SimpleDateFormat类获取到上传时间!
     * @param url 便于后面播放!
     * @param user_id 通过session获取
     * @return
     */
    int upload(String title,String singer,String time,String url,int user_id);

    /**
     * 通过用户id和音乐信息验证是否重复上传
     * @param title
     * @param singer
     * @param user_id
     * @return
     */
    Music getMusicByUidAndMusicInfo(String title, String singer, int user_id);

    /**
     * 通过音乐id删除音乐!
     * @param id
     * @return
     */
    int deleteById(int id);

    /**
     * 通过id获取到音乐信息
     * @param id
     * @return
     */
    Music getMusicById(int id);

    /**
     *查询所有歌曲
     * @return
     */
    List<Music> findMusic();

    /**
     * 通过名称查询到歌曲信息,支持模糊查询
     * @return
     */
    List<Music> findMusicByName(String musicName);
}
